
/**
 * @var class Zf2.BoxSelect
 */
Zf2.boxSelect = {
    "activate": function() {


        $(".boxSelect").delegate(".boxSelectAddAll", "click", function() {
            var idBox = $(this).parent().attr('markup');
            $('#' + idBox + '-options option').each(function() {
                var option = '<option val="' + $(this).val() + '">' + $(this).html() + '</option>';
                $('#' + idBox).append(option);
                $(this).remove();
            });
        });


        $(".boxSelect").delegate(".boxSelectAdd", "click", function() {
            var idBox = $(this).parent().attr('markup');
            var selected = $('#' + idBox + '-options option:selected');
            var option = '<option val="' + selected.val() + '">' + selected.html() + '</option>';

            if (selected.length != 0) {
                $('#' + idBox).append(option);
                selected.remove();
            }

        });

        $(".boxSelect").delegate(".boxSelectRmv", "click", function() {
            var idBox = $(this).parent().attr('markup');
            var selected = $('#' + idBox + ' option:selected');
            var option = '<option val="' + selected.val() + '">' + selected.html() + '</option>';

            if (selected.length != 0) {
                $('#' + idBox + '-options').append(option);
                selected.remove();
            }
        });

        $(".boxSelect").delegate(".boxSelectRmvAll", "click", function() {
            var idBox = $(this).parent().attr('markup');
            $('#' + idBox + ' option').each(function() {
                var option = '<option val="' + $(this).val() + '">' + $(this).html() + '</option>';
                $('#' + idBox + '-options').append(option);
                $(this).remove();
            });
        });

        //Zf2 Up
        $(".boxSelect").delegate(".boxSelectUp", "click", function() {
            var idBox = $(this).attr('markup');
            var selected = $('#' + idBox + ' option:selected');
            //Trava para alterar posição de apenas um
            if (selected.length == 1) {
                var prev = selected.prev();
                selected.last().prev().before(selected);
            }

        });

        //Zf2 Down
        $(".boxSelect").delegate(".boxSelectDown", "click", function() {
            var idBox = $(this).attr('markup');
            var selected = $('#' + idBox + ' option:selected');
            //Trava para alterar posição de apenas um
            if (selected.length == 1) {
                var prev = selected.prev();
                selected.last().next().after(selected);

            }
        });

    }


};

